今天要談的是錯誤處理 try-catch
。
try-catch
基本上是用來處理一些例外資訊的,也就是用來預防一些想不到的錯誤。
使用錯誤處理的話,除了可以幫助我們找到一些可能發生例外的錯誤外,更可以加快我們抓BUG的速度。
以JavaScript為例:
try {
var result = JSON.parse('This is not valid JSON');
console.log(result);
}
catch (error) {
console.error(error);
}
finally {
console.log('finally.');
}
輸出結果:
SyntaxError: Unexpected token T in JSON at position 0
at JSON.parse (<anonymous>)
at Object.<anonymous> (C:\code\catch.js:2:23)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
finally.
當JSON解析失敗時,就不會往下執行:
console.log(result);
而是會直接跳到 catch
內去執行:
console.error(error);
finally
則是最後一定會執行的,即使發生錯誤。